CmsMenuSettings = function(sLinks) {
	var domTpl = $("#cm_add_link_tpl")[0];
	this.tplText = domTpl.innerHTML;
	this.tplClass = domTpl.className;
	this.linksCount = 0;
	this.domLinks = [];
	
	var addLink = $("#cm_add_link_btn")[0];
	//перед чем вставлять
	this.domInsertElement =  domTpl.parentNode;//куда вставлять
	this.domInsertBefore =  domTpl;//перед чем вставлять;
	
	addLink.obj = this;
	addLink.onclick = function() {
		this.obj.addLink("Новая ссылка","http://");
		return false;
	}
	//перепишем обработчик он клика для кнопки сохранить
	var btnSave = $("#submit_button")[0];
	btnSave.cm_obj = this;
	//this.fOlldSave = btnSave.onclick;
	
	 btnSave.onclick = function() {
		this.cm_obj.onSave();
		//this.cm_obj.fOlldSave.call(this);
	}
	//инициализируем имеющиеся ссылки
	if(sLinks.length) {
		var aLinks = sLinks.split("||");
		var i;
		var count = aLinks.length/2; 
		for(i=0; i<count; i++) {
			this.addLink(aLinks[i*2],aLinks[i*2+1]);
		}
	}
}

CmsMenuSettings.prototype.addLink = function(sTitle, sLink) {
	var newItem = document.createElement("fieldset");
	newItem.className = this.tplClass;
	var text = this.tplText.replace("__TITLE__", sTitle);
	var text = text.replace("__LINK__", sLink);
	newItem.innerHTML = text;
	this.domInsertElement.insertBefore(newItem, this.domInsertBefore);
	
	newItem.obj = this;
	newItem.objIndex = this.linksCount;
	//кнопки вверх/вниз/удалить
	var as = newItem.getElementsByTagName("a");
	as[0].obj = as[1].obj = as[2].obj = newItem;
	as[0].onclick = function() {this.obj.obj.moveUp(this.obj.objIndex)};
	as[1].onclick = function() {this.obj.obj.moveDown(this.obj.objIndex)};
	as[2].onclick = function() {this.obj.obj.remove(this.obj.objIndex)};
	
	this.domLinks[this.linksCount++] = newItem;
}

CmsMenuSettings.prototype.onSave = function() {
	//собираем все ссылки
	var aLinks = [];
	var i;
	var domInputs;
	for(i=0; i<this.linksCount; i++) {
		domInputs = this.domLinks[i].getElementsByTagName("input");
		aLinks[i*2] = domInputs[0].value;
		aLinks[i*2+1] = domInputs[1].value;
	}
	$("#cm_result_links")[0].value = aLinks.join("||");
}

CmsMenuSettings.prototype.moveUp = function(index) {
	if(index==0)
		return;
	var dom1 = this.domLinks[index-1];
	var dom2 = this.domLinks[index];
	//меням местами элементы
	this.domInsertElement.insertBefore(dom2, dom1);
	dom1.objIndex++;
	dom2.objIndex--;
	this.domLinks[index-1] = dom2;
	this.domLinks[index] = dom1;
}

CmsMenuSettings.prototype.moveDown = function(index) {
	if(index == this.linksCount-1)
		return;
	this.moveUp(index+1);
}

CmsMenuSettings.prototype.remove = function(index) {
	this.domInsertElement.removeChild(this.domLinks[index]);
	this.linksCount--;
	var i;
	for(i=index; i<this.linksCount; i++) {
		this.domLinks[index] = this.domLinks[index+1];
		this.domLinks[index].objIndex = i;
	}
}